An Application Development Framework (ADF) provides a set of pre-defined code/data modules that can be directly/indirectly used in the development of an application. An ADF may also provide tools such as an IDE (integrated development environment), code generators, debuggers, etc. which facilitates a developer in coding/implementing the desired logic of the application in a faster/simpler manner.
In general, an ADF simplifies development of applications by providing re-usable components and integrated development environments, which application developers can use to define user interfaces and application logic by, for example, selecting components to perform desired tasks and defining the appearance, behavior, and interactions of the selected components. Some ADFs are based on a model-view-controller design pattern that promotes loose coupling and easier application development and maintenance. Oracle Application Development Framework is one example of an ADF that utilizes this design pattern.
Oracle ADF includes libraries of standards-based Java Server Faces (JSF) components with built-in HTML5 and Ajax functionality. With these components, web deployed user interfaces can be developed with a level of functionality and interactivity previously reserved for thick-client applications. The components offer data interaction, data visualization, and encapsulated browser side operations in a set of easy to use components that makes rich client application development easier than ever. Oracle ADF further provides a data-binding framework that simplifies binding UI to business services through a simple drag and drop operations in the IDE. This is done while still keeping the independence of the business service from consuming interfaces. With the framework, the UI developer is insulated from the underlying implementation of the business service layer. This makes the process of building the UI truly decoupled from the implementation of the business service layer, better positioning the application for implementation in a service-oriented architecture.
Most modern computer applications, including Oracle ADF, incorporate a variety of reporting and chart tools. Line and area charts are often used to visualize a huge amount of data, such as a stock chart that displays the daily stock price over a period of over 10 years. When displaying the entire dataset at once, the chart rendering can be unbearably slow for the end user if every data point along the line or the area is drawn.
In order to improve the rendering performance, the most common industry solution is to use a path simplification algorithm to reduce the number of points that is drawn along the line. One problem with this approach is that although the existing path simplification algorithms are good at simplifying shapes while maintaining the general impression (which is great, for example, in simplifying a map outline), they smooth out the local extrema and skip points unevenly, causing data misrepresentation when applied to charts.
Accordingly, what is desired is to solve problems relating to improving chart performance by data filtering, some of which may be discussed herein. Additionally, what is desired is to reduce drawbacks relating to modern cloud-based applications that employ chart functionality, some of which may be discussed herein.